﻿using System.Collections.Generic;
using Acaweb.Model.Entities;
using Acaweb.Model.Entities.DatosCompuestos;


namespace Acaweb.Componentes.Contracts
{
    public interface ICursosMatriculadosService
    {
        CursosMatriculados GetById(CursosMatriculadosPk Curso);
        IList<CursosMatriculados> GetByCurso(CursoPk Curso);
        IList<CursosMatriculados> GetByEstudiante(int Estudiante);
        IList<CursosMatriculados> GetByEstudiante(int Estudiante, PeriodoAcademico PeriodoAcademico);
        int CorteHabilitado(CursoPk Curso);
        void CreateCursosMatriculados(CursosMatriculados CursoMatriculado);
        void Evaluar(CursosMatriculadosPk CursoMatriculado, double Nota, string CodigoDocente);
        IList<CursosMatriculados> GetCursosMatriculadosAprovados(int CodigoEstudiante);
        bool IsNotTimeConfflict(List<CursosMatriculados> CursosMatriculados);
    }
}
